import numpy as np
a = np.arange(6)
print(a+2)#相加
print(a*3)#相乘
print(a/2)#相除
#和列表运算相似
print('--------------数组和单个数据的运算---------------')
a1 = np.arange(5)
a2 = np.arange(5,10)
print(a1+a2)
print(a1*a2)
print(a1/a2)
#数组形状相同时（和列表运算相似）
a1 = np.arange(4)
a2 = np.arange(12).reshape(3,4)
print(a1)
print(a2)
print(a1+a2)
#数组形状不同时（按广播规则运算）
'''广播规则：
1、参加运算的数组都向维数最大的数组看齐，维数较小的数组在前面+1补齐
2、结果数组的形状取决于各运算组的各个轴最大值
3、若运算数组的某个轴长度为1，则该轴可扩充为结果数组的对应轴的长度（若长度不为1则不能扩充）
4、检查扩充后所有运算数组对应的轴的长度（若长度都相同则符合规则可以计算，否则无法计算）'''
print('--------------数组和数据的运算---------------')